Copyright ã1992 by Scott Hess.  All Rights Reserved.

slog Installation

There are tasks that a terminal emulator must accomplish  that require enhanced access priviledges.  These are logging to system files (utmp, wtmp, and lastlog) and changing permissions and ownerships on the user's tty line.  Most terminal emulators, such as Terminal, require that the program be setuid-root to accomplish these tasks.  This means that Terminal runs as if it were root no matter what user launches it, which many people consider to be a security hole.  Prior to Stuart2.3, Stuart was also required to be setuid-root.

In Stuart2.3, these tasks were removed from the main program and implemented in a tool called StuartLog.  This tool has been rewritten and renamed slog.  Since the slog performs only those tasks requiring the enhanced access priviledges, it is much smaller, and thus easier to debug.  Furthermore, it allows me to include source code, so that the user need not place their blind trust in me to get full performance from Stuart.  Lastly, it lets me relax slightly.  As time goes by, Stuart is aquiring more and more abilities, such as Stuartrc, which require it to read and write files on the user's system.  If Stuart were running setuid-root, I would have to spend many more hours poring over the sources making absolutely certain that I don't inadvertantly do anything which might cause a security hole or which might damage the user's system.

Warning:  slog requires you to log in as root to install it.  Please read these instructions fully before applying them to your system.  Installing any program setuid root can be a dangerous security hole.  This is why I have included full source code to slog, so that you can verify that the program will not purposely or inadvertently accomplish any nefarious activities while installed on your computer or network.

While I obviously would not place such a prominent warning in my documentation unless I was quite certain that there will be no such problems, I am also certain that I am only human.  Understand, I have no interests in breaking into your machine or your network.  I have my own toys which have proven sufficient to my meager needs.  But, if something untoward were to happen due to slog, I would be quite upset, and I'm sure you would be, too.  So give slog the once-over before installing it, and we can all sleep more easily tonight.  If you find any problems, please let me know about them.

·	Become the root user by either running su at a command line, or logging into the console as root.

·	Go to the slog source directory using cd or another convenient means.

·	Type:

make install

The Makefile will cause slog to be installed with the correct permissions.  The above line assumes that you are installing slog from the default distribution directory tree.  If this is not the case, you should use something like:

make install INSTALLDIR=/LocalApps/Stuart.app

Where /LocalApps is where the Stuart wrapper was installed.

·	That's it!  Stuart should now be able to log the correct information and all your programs will be happy.

Note:  The slog sources are NeXTSTEP2.0 sources.  So far as I'm aware, they compile correctly under NeXTSTEP3.0, but there may be some warnings from the compiler due to changes in the include files under NeXTSTEP3.0.  These can be safely ignored.

If you do not have an extended NeXTSTEP available, you will have to install the program manually:

·	Select the Stuart.app wrapper in Workspace and click the File/Open As Folder menu entry.

·	Drag the slog executable from the slog source directory into the Stuart.app wrapper.

·	Get to a command-line as root, by using Terminal or Stuart and running su.  Go to the Stuart.app directory and type:

chown root.tty slog ; chmod 6755 slog